/*
 * Test_HexGame.h
 *
 *  Created on: Apr 5, 2014
 *      Author: zby
 */

#ifndef TEST_HEXGAME_H_
#define TEST_HEXGAME_H_



#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/CompilerOutputter.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestSuite.h>
#include <cppunit/Test.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/TestCaller.h>
#include <cppunit/TestAssert.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/TestRunner.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/CompilerOutputter.h>
#include <cppunit/XmlOutputter.h>
//-------------------------------
#include "Board.h"
#include "HexGame.h"


class Test_HexGame: public CppUnit::TestFixture
{
    private:
        HexGame *hg1;
        HexGame *hg2;
        HexGame *hg3;
        HexGame *hg4;

    public:
        void setUp()
        {
            hg1 = new HexGame();
            hg2 = new HexGame();
            hg3 = new HexGame();
            hg4 = new HexGame();
        }

        Test_HexGame(){};
        ~Test_HexGame(){};
        void test_def_constructor(void);
        void test_usermenu(void);
        void test_whoWon(void);
        void test_userMove(void);
        void test_compMove(void);

        static CppUnit::Test* suite();

        void tearDown()
        {
            delete hg1;
            delete hg2;
            delete hg3;
            delete hg4;
        }
};

#endif /* TEST_HEXGAME_H_ */
